package cn.xopencode.userservice.rpc.user.dto;

import cn.xopencode.common.framework.enums.CommonStatusEnum;
import cn.xopencode.common.framework.validator.InEnum;
import cn.xopencode.common.framework.vo.PageParam;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.util.Date;

/**
 * 用户分页 Request DTO
 *
 * @author xiaodawei
 * @since 2021-09-16
 */
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@ApiModel("用户查询参数")
public class UserPageDTO extends PageParam {

    /**
     * 模糊匹配：姓名、账号、手机号
     */
    @ApiModelProperty("模糊匹配：姓名、账号、手机号")
    private String vague;
    /**
     * 职务
     */
    @ApiModelProperty("职务ID")
    private String positionId;

    /**
     * 最后登录时间
     */
    @ApiModelProperty("最后登录时间")
    private Date loginDateStart;
    /**
     * 最后登录时间
     */
    @ApiModelProperty("最后登录时间")
    private Date loginDateEnd;
    /**
     * 状态
     */
    @ApiModelProperty("状态")
    @InEnum(value = CommonStatusEnum.class, message = "修改状态必须是 {value}")
    private Integer status;

}
